Newton's method

In numerical analysis, Newton's method (also known as the Newton–Raphson method), named after Isaac Newton and Joseph Raphson, is a method for finding successively better approximations to the roots (or zeroes) of a real-valued function. The algorithm is first in the class of Householder's methods, succeeded by Halley's method. The method can also be extended to complex functions and to systems of equations.

The Newton-Raphson method in one variable is implemented as follows:

Given a function ƒ defined over the reals x, and its derivative ƒ ', we begin with a first guess x0 for a root of the function f. Provided the function is reasonably well-behaved a better approximation x1 is

x_{1} = x_0 - \frac{f(x_0)}{f'(x_0)} \,.

Geometrically, (x1, 0) is the intersection with the x-axis of a line tangent to f at (x0, f (x0)).

The process is repeated as

x_{n%2B1} = x_n - \frac{f(x_n)}{f'(x_n)} \,

until a sufficiently accurate value is reached.

Contents

Description

The idea of the method is as follows: one starts with an initial guess which is reasonably close to the true root, then the function is approximated by its tangent line (which can be computed using the tools of calculus), and one computes the x-intercept of this tangent line (which is easily done with elementary algebra). This x-intercept will typically be a better approximation to the function's root than the original guess, and the method can be iterated.

Suppose ƒ : [ab] → R is a differentiable function defined on the interval [ab] with values in the real numbers R. The formula for converging on the root can be easily derived. Suppose we have some current approximation xn. Then we can derive the formula for a better approximation, xn+1 by referring to the diagram on the right. We know from the definition of the derivative at a given point that it is the slope of a tangent at that point.

That is

f'(x_{n}) = \frac{ \Delta y }{ \Delta x } = \frac{ f( x_{n} ) - 0 }{ x_{n} - x_{n%2B1} }.\,\!

Here, f ' denotes the derivative of the function f. Then by simple algebra we can derive

x_{n%2B1} = x_n - \frac{f(x_n)}{f'(x_n)}. \,\!

We start the process off with some arbitrary initial value x0. (The closer to the zero, the better. But, in the absence of any intuition about where the zero might lie, a "guess and check" method might narrow the possibilities to a reasonably small interval by appealing to the intermediate value theorem.) The method will usually converge, provided this initial guess is close enough to the unknown zero, and that ƒ'(x0) ≠ 0. Furthermore, for a zero of multiplicity 1, the convergence is at least quadratic (see rate of convergence) in a neighbourhood of the zero, which intuitively means that the number of correct digits roughly at least doubles in every step. More details can be found in the analysis section below.

The Householder's methods are similar but have higher order for even faster convergence. However, the extra computations required for each step can slow down the overall performance relative to Newton's method, particularly if f or its derivatives are computationally expensive to evaluate.

History

Newton's method was described by Isaac Newton in De analysi per aequationes numero terminorum infinitas (written in 1669, published in 1711 by William Jones) and in De metodis fluxionum et serierum infinitarum (written in 1671, translated and published as Method of Fluxions in 1736 by John Colson). However, his description differs substantially from the modern description given above: Newton applies the method only to polynomials. He does not compute the successive approximations x_n, but computes a sequence of polynomials and only at the end, he arrives at an approximation for the root x. Finally, Newton views the method as purely algebraic and fails to notice the connection with calculus. Isaac Newton probably derived his method from a similar but less precise method by Vieta. The essence of Vieta's method can be found in the work of the Persian mathematician, Sharaf al-Din al-Tusi, while his successor Jamshīd al-Kāshī used a form of Newton's method to solve x^P - N = 0 to find roots of N (Ypma 1995). A special case of Newton's method for calculating square roots was known much earlier and is often called the Babylonian method.

Newton's method was used by 17th century Japanese mathematician Seki Kōwa to solve single-variable equations, though the connection with calculus was missing.

Newton's method was first published in 1685 in A Treatise of Algebra both Historical and Practical by John Wallis. In 1690, Joseph Raphson published a simplified description in Analysis aequationum universalis. Raphson again viewed Newton's method purely as an algebraic method and restricted its use to polynomials, but he describes the method in terms of the successive approximations xn instead of the more complicated sequence of polynomials used by Newton. Finally, in 1740, Thomas Simpson described Newton's method as an iterative method for solving general nonlinear equations using fluxional calculus, essentially giving the description above. In the same publication, Simpson also gives the generalization to systems of two equations and notes that Newton's method can be used for solving optimization problems by setting the gradient to zero.

Arthur Cayley in 1879 in The Newton-Fourier imaginary problem was the first who noticed the difficulties in generalizing the Newton's method to complex roots of polynomials with degree greater than 2 and complex initial values. This opened the way to the study of the theory of iterations of rational functions.

Practical considerations

Newton's method is an extremely powerful technique—in general the convergence is quadratic: as the method converges on the root, the difference between the root and the approximation is squared (the number of accurate digits roughly doubles) at each step. However, there are some difficulties with the method.

Difficulty in calculating derivative of a function

Newton's method requires that the derivative be calculated directly. An analytical expression for the derivative may not be easily obtainable and could be expensive to evaluate. In these situations, it may be appropriate to approximate the derivative by using the slope of a line through two nearby points on the function. Using this approximation would result in something like the secant method whose convergence is slower than that of Newton's method.

Failure of the method to converge to the root

It is important to review the proof of quadratic convergence of Newton's Method before implementing it. Specifically, one should review the assumptions made in the proof. For situations where the method fails to converge, it is because the assumptions made in this proof are not met.

Overshoot

If the first derivative is not well behaved in the neighborhood of a particular root, the method may overshoot, and diverge from that root. Furthermore, if a stationary point of the function is encountered, the derivative is zero and the method will terminate due to division by zero.

Poor initial estimate

A large error in the initial estimate can contribute to non-convergence of the algorithm.

Mitigation of non-convergence

In a robust implementation of Newton's method, it is common to place limits on the number of iterations, bound the solution to an interval known to contain the root, and combine the method with a more robust root finding method.

Slow convergence for roots of multiplicity > 1

If the root being sought has multiplicity greater than one, the convergence rate is merely linear (errors reduced by a constant factor at each step) unless special steps are taken. When there are two or more roots that are close together then it may take many iterations before the iterates get close enough to one of them for the quadratic convergence to be apparent. However, if the multiplicity m of the root is known, one can use the following modified algorithm that preserves the quadratic convergence rate:

x_{n%2B1} = x_n - m\frac{f(x_n)}{f'(x_n)}. \,\!

Analysis

Suppose that the function ƒ has a zero at α, i.e., ƒ(α) = 0.

If f  is continuously differentiable and its derivative is nonzero at α, then there exists a neighborhood of α such that for all starting values x0 in that neighborhood, the sequence {xn} will converge to α.

If the function is continuously differentiable and its derivative is not 0 at α and it has a second derivative at α then the convergence is quadratic or faster. If the second derivative is not 0 at α then the convergence is merely quadratic. If the third derivative exists and is bounded in a neighborhood of α, then:

\Delta x_{i%2B1} =  \frac{f^{\prime\prime} (\alpha)}{2 f^\prime (\alpha)} (\Delta x_{i})^2 %2B O[\Delta x_{i}]^3 \,,

where \Delta x_i \triangleq x_i - \alpha \,.

If the derivative is 0 at α, then the convergence is usually only linear. Specifically, if ƒ is twice continuously differentiable, ƒ '(α) = 0 and ƒ ''(α) ≠ 0, then there exists a neighborhood of α such that for all starting values x0 in that neighborhood, the sequence of iterates converges linearly, with rate log10 2 (Süli & Mayers, Exercise 1.6). Alternatively if ƒ '(α) = 0 and ƒ '(x) ≠ 0 for x ≠ 0, x in a neighborhood U of α, α being a zero of multiplicity r, and if ƒ ∈ Cr(U) then there exists a neighborhood of α such that for all starting values x0 in that neighborhood, the sequence of iterates converges linearly.

However, even linear convergence is not guaranteed in pathological situations.

In practice these results are local, and the neighborhood of convergence is not known in advance. But there are also some results on global convergence: for instance, given a right neighborhood U+ of α, if f is twice differentiable in U+ and if f' \ne 0 \!, f \cdot f'' > 0 \! in U+, then, for each x0 in U+ the sequence xk is monotonically decreasing to α.

Proof of quadratic convergence for Newton's iterative method

According to Taylor's theorem, any function f(x) which has a continuous second derivative can be represented by an expansion about a point that is close to a root of f(x). Suppose this root is \alpha \,. Then the expansion of f(α) about xn is:

f(\alpha) = f(x_n) %2B f^\prime(x_n)(\alpha - x_n) %2B R_1 \,

 

 

 

 

(1)

where the Lagrange form of the Taylor series expansion remainder is

R_1 = \frac{1}{2!}f^{\prime\prime}(\xi_n)(\alpha - x_n)^{2} \,,

where ξn is in between xn and \alpha \,.

Since \alpha \, is the root, (1) becomes:

0 = f(\alpha) = f(x_n) %2B f^\prime(x_n)(\alpha - x_n) %2B \frac{1}{2}f^{\prime\prime}(\xi_n)(\alpha - x_n)^{2} \,

 

 

 

 

(2)

Dividing equation (2) by  f^\prime(x_n)\, and rearranging gives

 \frac {f(x_n)}{f^\prime(x_n)}%2B\left(\alpha-x_n\right) = \frac {- f^{\prime\prime} (\xi_n)}{2 f^\prime(x_n)}\left(\alpha-x_n\right)^2

 

 

 

 

(3)

Remembering that xn+1 is defined by

 x_{n%2B1} = x_{n} - \frac {f(x_n)}{f^\prime(x_n)} \,,

 

 

 

 

(4)

one finds that

 \underbrace{\alpha - x_{n%2B1}}_{\epsilon_{n%2B1}} = \frac {- f^{\prime\prime} (\xi_n)}{2 f^\prime(x_n)} (\underbrace{\alpha - x_n}_{\epsilon_{n}})^2 \,.

That is,

 \epsilon_{n%2B1} = \frac {- f^{\prime\prime} (\xi_n)}{2 f^\prime(x_n)} \, {\epsilon_n}^2 \,.

 

 

 

 

(5)

Taking absolute value of both sides gives

 \left| {\epsilon_{n%2B1}}\right| = \frac {\left| f^{\prime\prime} (\xi_n) \right| }{2 \left| f^\prime(x_n) \right|} \, {\epsilon_n}^2 \,

 

 

 

 

(6)

Equation (6) shows that the rate of convergence is quadratic if following conditions are satisfied:

  1. f'(x)\ne0; \forall x\in I \text{, where }I \text{ is the interval }[\alpha-r,\alpha%2Br] \text{ for some } r \ge \left\vert(\alpha-x_0)\right\vert;\,
  2. f''(x) \text{ is finite },\forall x\in I; \,
  3.  x_0 \, sufficiently close to the root  \alpha \,

The term sufficiently close in this context means the following:

(a) Taylor approximation is accurate enough such that we can ignore higher order terms,

(b) \frac 1 {2}\left |{\frac {f^{\prime\prime} (x_n)}{f^\prime(x_n)}}\right |<C\left |{\frac {f^{\prime\prime} (\alpha)}{f^\prime(\alpha)}}\right |, \text{ for some } C<\infty,\,

(c) C \left |{\frac {f^{\prime\prime} (\alpha)}{f^\prime(\alpha)}}\right |\epsilon_n<1, \text{ for }n\in \Zeta ^%2B\cup\{0\} \text{ and }C \text{ satisfying condition (b) }.\,

Finally, (6) can be expressed in the following way:

 \left | {\epsilon_{n%2B1}}\right | \le M{{\epsilon}^2}_n \,

where M is the supremum of the variable coefficient of {\epsilon^2}_n \, on the interval I\, defined in the condition 1, that is:

M = \sup_{x \in I} \frac 1 {2}\left |{\frac {f^{\prime\prime} (x)}{f^\prime(x)}}\right |. \,

The initial point x_0 \, has to be chosen such that conditions 1 through 3 are satisfied, where the third condition requires that M\left |\epsilon_0 \right |<1.\,

Basins of attraction

The basins of attraction — the regions of the real number line such that within each region iteration from any point leads to one particular root — can be infinite in number and arbitrarily small. For example,[1] for the function f(x)=x^3-2x^2-11x%2B12, the following initial conditions are in successive basins of attraction:

2.35287527 converges to 4;
2.35284172 converges to –3;
2.35283735 converges to 4;
2.352836327 converges to –3;
2.352836323 converges to 1.

Failure analysis

Newton's method is only guaranteed to converge if certain conditions are satisfied. If the assumptions made in the proof of quadratic convergence are met, the method will converge. For the following subsections, failure of the method to converge indicates that the assumptions made in the proof were not met.

Bad starting points

In some cases the conditions on the function that are necessary for convergence are satisfied, but the point chosen as the initial point is not in the interval where the method converges. This can happen, for example, if the function whose root is sought approaches zero asymptotically as x goes to \infty or - \infty. In such cases a different method, such as bisection, should be used to obtain a better estimate for the zero to use as an initial point.

Iteration point is stationary

Consider the function:

f(x) = 1-x^2.\!

It has a maximum at x=0 and solutions of f(x) = 0 at x = ±1. If we start iterating from the stationary point x0=0 (where the derivative is zero), x1 will be undefined, since the tangent at (0,1) is parallel to the x-axis:

x_1 = x_0 - \frac{f(x_0)}{f'(x_0)} = 0 - \frac{1}{0}.

The same issue occurs if, instead of the starting point, any iteration point is stationary. Even if the derivative is small but not zero, the next iteration will be a far worse approximation.

Starting point enters a cycle

For some functions, some starting points may enter an infinite cycle, preventing convergence. Let

f(x) = x^3 - 2x %2B 2 \!

and take 0 as the starting point. The first iteration produces 1 and the second iteration returns to 0 so the sequence will alternate between the two without converging to a root. In fact, this 2-cycle is stable: there are neighborhoods around 0 and around 1 from which all points iterate asymptotically to the 2-cycle (and hence not to the root of the function). In general, the behavior of the sequence can be very complex (see Newton fractal).

Derivative issues

If the function is not continuously differentiable in a neighborhood of the root then it is possible that Newton's method will always diverge and fail, unless the solution is guessed on the first try.

Derivative does not exist at root

A simple example of a function where Newton's method diverges is the cube root, which is continuous and infinitely differentiable, except for x = 0, where its derivative is undefined (this, however, does not affect the algorithm, since it will never require the derivative if the solution is already found):

f(x) = \sqrt[3]{x}.

For any iteration point xn, the next iteration point will be:

x_{n%2B1} = x_n - \frac{f(x_n)}{f'(x_n)} = x_n - \frac{{x_n}^{\frac{1}{3}}}{\frac{1}{3}\,{x_n}^{\frac{1}{3}-1}} = x_n - 3\,x_n = -2\,x_n.

The algorithm overshoots the solution and lands on the other side of the y-axis, farther away than it initially was; applying Newton's method actually doubles the distances from the solution at each iteration.

In fact, the iterations diverge to infinity for every f(x) = |x|^\alpha, where 0 < \alpha < \tfrac{1}{2}. In the limiting case of \alpha = \tfrac{1}{2} (square root), the iterations will alternate indefinitely between points x0 and −x0, so they do not converge in this case either.

Discontinuous derivative

If the derivative is not continuous at the root, then convergence may fail to occur in any neighborhood of the root. Consider the function

f(x) = \begin{cases}
0                        & \text{if } x = 0,\\
x %2B x^2\sin\left(\frac{2}{x}\right) & \text{if } x \neq 0.
\end{cases}

Its derivative is:

f'(x) = \begin{cases}
1                        & \text{if } x = 0,\\
1 %2B 2\,x\,\sin\left(\frac{2}{x}\right) - 2\,\cos\left(\frac{2}{x}\right) & \text{if } x \neq 0.
\end{cases}

Within any neighborhood of the root, this derivative keeps changing sign as x approaches 0 from the right (or from the left) while f(x) ≥ x − x2 > 0 for 0 < x < 1.

So f(x)/f'(x) is unbounded near the root, and Newton's method will diverge almost everywhere in any neighborhood of it, even though:

Non-quadratic convergence

In some cases the iterates converge but do not converge as quickly as promised. In these cases simpler methods converge just as quickly as Newton's method.

Zero derivative

If the first derivative is zero at the root, then convergence will not be quadratic. Indeed, let

f(x) = x^2 \!

then f'(x) = 2x \! and consequently x - f(x)/f'(x) = x/2 \!. So convergence is not quadratic, even though the function is infinitely differentiable everywhere.

Similar problems occur even when the root is only "nearly" double. For example, let

f(x) = x^2(x-1000)%2B1.\!

Then the first few iterates starting at x0 = 1 are 1, 0.500250376, 0.251062828, 0.127507934, 0.067671976, 0.041224176, 0.032741218, 0.031642362; it takes six iterations to reach a point where the convergence appears to be quadratic.

No second derivative

If there is no second derivative at the root, then convergence may fail to be quadratic. Indeed, let

f(x) = x %2B x^\frac{4}{3}.\!

Then

f'(x) = 1 %2B \frac{4}{3}x^\frac{1}{3}.\!

And

f''(x) = \frac{4}{9}x^\frac{-2}{3} \!

except when x = 0 \! where it is undefined. Given x_n \!,

x_{n%2B1} = x_n - \frac{f(x_n)}{f '(x_n)} = \frac{\frac{1}{3}{x_n}^\frac{4}{3}}{(1 %2B \frac{4}{3}{x_n}^\frac{1}{3})} \!

which has approximately 4/3 times as many bits of precision as x_n \! has. This is less than the 2 times as many which would be required for quadratic convergence. So the convergence of Newton's method (in this case) is not quadratic, even though: the function is continuously differentiable everywhere; the derivative is not zero at the root; and f \! is infinitely differentiable except at the desired root.

Generalizations

Complex functions

When dealing with complex functions, Newton's method can be directly applied to find their zeroes. Each zero has a basin of attraction in the complex plane, the set of all starting values that cause the method to converge to that particular zero. These sets can be mapped as in the image shown. For many complex functions, the boundaries of the basins of attraction are fractals.

In some cases there are regions in the complex plane which are not in any of these basins of attraction, meaning the iterates do not converge. For example,[2] if one uses a real initial condition to seek a root of x^2%2B1, all subsequent iterates will be real numbers and so the iterations cannot converge to either root, since both roots are non-real. In this case almost all initial conditions lead to chaotic behavior, while some initial conditions iterate either to infinity or to repeating cycles of any finite length.

Nonlinear systems of equations

k variables, k functions

One may use Newton's method also to solve systems of k (non-linear) equations, which amounts to finding the zeroes of continuously differentiable functions F : Rk Rk. In the formulation given above, one then has to left multiply with the inverse of the k-by-k Jacobian matrix JF(xn) instead of dividing by f '(xn).

Rather than actually computing the inverse of this matrix, one can save time by solving the system of linear equations

J_F(x_n) (x_{n%2B1} - x_n) = -F(x_n)\,\!

for the unknown xn+1xn.

k variables, > k equations

The к-dimensional Newton's method can be used to solve systems of >k (non-linear) equations as well if the algorithm uses the generalized inverse of the non-square Jacobian matrix J+ = ((JTJ)−1)JT instead of the inverse of J. If the nonlinear system has no solution, the methods attempts to find a solution in the non-linear least squares sense.

Nonlinear equations in a Banach space

Another generalization is Newton's method to find a root of a functional F defined in a Banach space. In this case the formulation is

X_{n%2B1}=X_n-[F^{\prime}(X_n)]^{-1}F(X_n),\,

where F^{\prime}(X_n) is the Fréchet derivative computed at X_n. One needs the Fréchet derivative to be boundedly invertible at each X_n in order for the method to be applicable. A condition for existence of and convergence to a root is given by the Newton–Kantorovich theorem.

Nonlinear equations over p-adic numbers

In p-adic analysis, the standard method to show a polynomial equation in one variable has a p-adic root is Hensel's lemma, which uses the recursion from Newton's method on the p-adic numbers. Because of the more stable behavior of addition and multiplication in the p-adic numbers compared to the real numbers (specifically, the unit ball in the p-adics is a ring), convergence in Hensel's lemma can be guaranteed under much simpler hypotheses than in the classical Newton's method on the real line.

Applications

Minimization and maximization problems

Newton's method can be used to find a minimum or maximum of a function. The derivative is zero at a minimum or maximum, so minima and maxima can be found by applying Newton's method to the derivative. The iteration becomes:

x_{n%2B1} = x_n - \frac{f'(x_n)}{f''(x_n)}. \,\!

Digital division

An important and somewhat surprising application is Newton–Raphson division, which can be used to quickly find the reciprocal of a number using only multiplication and subtraction.

Solving transcendental equations

Many transcendental equations can be solved using Newton's method. Given the equation

g(x) = h(x), \,\!

with g(x) and/or h(x) a transcendental function, one writes

f(x) = g(x) - h(x). \,\!

The values of x that solves the original equation are then the roots of f(x), which may be found via Newton's method.

Examples

Square root of a number

Consider the problem of finding the square root of a number. There are many methods of computing square roots, and Newton's method is one.

For example, if one wishes to find the square root of 612, this is equivalent to finding the solution to

\,x^2 = 612

The function to use in Newton's method is then,

\,f(x) = x^2 - 612

with derivative,

 f'(x) = 2x. \,

With an initial guess of 10, the sequence given by Newton's method is

\begin{matrix}
  x_1 & = & x_0 - \dfrac{f(x_0)}{f'(x_0)} & = & 10 - \dfrac{10^2 - 612}{2 \cdot 10} & = & 35.6 \quad\quad\quad{} \\
  x_2 & = & x_1 - \dfrac{f(x_1)}{f'(x_1)} & = & 35.6 - \dfrac{35.6^2 - 612}{2 \cdot 35.6} & = & \underline{2}6.395505617978\dots \\
  x_3 & = & \vdots & = & \vdots & = & \underline{24.7}90635492455\dots \\
  x_4 & = & \vdots & = & \vdots & = & \underline{24.7386}88294075\dots \\
  x_5 & = & \vdots & = & \vdots & = & \underline{24.7386337537}67\dots
\end{matrix}

Where the correct digits are underlined. With only a few iterations one can obtain a solution accurate to many decimal places.

Solution of cos(x) = x3

Consider the problem of finding the positive number x with cos(x) = x3. We can rephrase that as finding the zero of f(x) = cos(x) − x3. We have f'(x) = −sin(x) − 3x2. Since cos(x) ≤ 1 for all x and x3 > 1 for x > 1, we know that our zero lies between 0 and 1. We try a starting value of x0 = 0.5. (Note that a starting value of 0 will lead to an undefined result, showing the importance of using a starting point that is close to the zero.)

\begin{matrix}
  x_1 & = & x_0 - \dfrac{f(x_0)}{f'(x_0)} & = & 0.5 - \dfrac{\cos(0.5) - (0.5)^3}{-\sin(0.5) - 3(0.5)^2} & = & 1.112141637097 \\
  x_2 & = & x_1 - \dfrac{f(x_1)}{f'(x_1)} & = & \vdots & = & \underline{0.}909672693736 \\
  x_3 & = & \vdots & = & \vdots & = & \underline{0.86}7263818209 \\
  x_4 & = & \vdots & = & \vdots & = & \underline{0.86547}7135298 \\
  x_5 & = & \vdots & = & \vdots & = & \underline{0.8654740331}11 \\
  x_6 & = & \vdots &= & \vdots & = & \underline{0.865474033102}
\end{matrix}

The correct digits are underlined in the above example. In particular, x6 is correct to the number of decimal places given. We see that the number of correct digits after the decimal point increases from 2 (for x3) to 5 and 10, illustrating the quadratic convergence.

See also

References

External links

References

  1. ^ Dence, Thomas, "Cubics, chaos and Newton's method", Mathematical Gazette 81, November 1997, 403-408.
  2. ^ Strang, Gilbert, "A chaotic search for i", ''The College Mathematics Journal 22, January 1991, pp. 3-12 (esp. p. 6).